package com.restaurant.application.indexes.consumptionlist.mysql;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;

import java.util.List;

public class ConsumptionListCriteria implements PickableBean {

    public static final String FN_RECORDID = "recordId";
    public static final String FN_CONSUMPTIONUIDEQUALS = "consumptionUidEquals";
    public static final String FN_CONSUMPTIONUIDNOTEQUALS = "consumptionUidNotEquals";
    public static final String FN_TOTALPRICEUPPER = "totalPriceUpper";
    public static final String FN_TOTALPRICELOWER = "totalPriceLower";
    public static final String FN_FINALPRICEUPPER = "finalPriceUpper";
    public static final String FN_FINALPRICELOWER = "finalPriceLower";
    public static final String FN_TIMEUPPER = "timeUpper";
    public static final String FN_TIMELOWER = "timeLower";
    public static final String FN_TIMEEQUALS = "timeEquals";
    public static final String FN_TIMENOTEQUALS = "timeNotEquals";
    public static final String FN_SHOPUIDLIKE = "shopUIDLike";
    public static final String FN_SHOPUIDEQUALS = "shopUIDEquals";
    public static final String FN_SHOPUIDNOTEQUALS = "shopUIDNotEquals";
    public static final String FN_SHOPNAMELIKE = "shopNameLike";
    public static final String FN_SHOPNAMEEQUALS = "shopNameEquals";
    public static final String FN_SHOPNAMENOTEQUALS = "shopNameNotEquals";
    public static final String FN_ACCUMULATEPOINTSUPPER = "accumulatePointsUpper";
    public static final String FN_ACCUMULATEPOINTSLOWER = "accumulatePointsLower";
    public static final String FN_ACCUMULATEPOINTSEQUALS = "accumulatePointsEquals";
    public static final String FN_ACCUMULATEPOINTSNOTEQUALS = "accumulatePointsNotEquals";
    public static final String FN_CUSTOMERUIDEQUALS = "customerUidEquals";
    public static final String FN_CUSTOMERUIDNOTEQUALS = "customerUidNotEquals";
    public static final String FN_CUSTOMERNAMELIKE = "customerNameLike";
    public static final String FN_CUSTOMERNAMEEQUALS = "customerNameEquals";
    public static final String FN_CUSTOMERNAMENOTEQUALS = "customerNameNotEquals";
    public static final String FN_WECHATIDLIKE = "weChatIdLike";
    public static final String FN_WECHATIDEQUALS = "weChatIdEquals";
    public static final String FN_WECHATIDNOTEQUALS = "weChatIdNotEquals";

    public static final List<String> FIELD_NAMES = Lists.newArrayList(
             FN_RECORDID,
             FN_CONSUMPTIONUIDEQUALS,
             FN_CONSUMPTIONUIDNOTEQUALS,
             FN_TOTALPRICEUPPER,
             FN_TOTALPRICELOWER,
             FN_FINALPRICEUPPER,
             FN_FINALPRICELOWER,
             FN_TIMEUPPER,
             FN_TIMELOWER,
             FN_TIMEEQUALS,
             FN_TIMENOTEQUALS,
             FN_SHOPUIDLIKE,
             FN_SHOPUIDEQUALS,
             FN_SHOPUIDNOTEQUALS,
             FN_SHOPNAMELIKE,
             FN_SHOPNAMEEQUALS,
             FN_SHOPNAMENOTEQUALS,
             FN_ACCUMULATEPOINTSUPPER,
             FN_ACCUMULATEPOINTSLOWER,
             FN_ACCUMULATEPOINTSEQUALS,
             FN_ACCUMULATEPOINTSNOTEQUALS,
             FN_CUSTOMERUIDEQUALS,
             FN_CUSTOMERUIDNOTEQUALS,
             FN_CUSTOMERNAMELIKE,
             FN_CUSTOMERNAMEEQUALS,
             FN_CUSTOMERNAMENOTEQUALS,
             FN_WECHATIDLIKE,
             FN_WECHATIDEQUALS,
             FN_WECHATIDNOTEQUALS);

    private Long recordId;
    private UID consumptionUidEquals;
    private UID consumptionUidNotEquals;
    private Double totalPriceUpper;
    private Double totalPriceLower;
    private Double finalPriceUpper;
    private Double finalPriceLower;
    private Long timeUpper;
    private Long timeLower;
    private Long timeEquals;
    private Long timeNotEquals;
    private String shopUIDLike;
    private String shopUIDEquals;
    private String shopUIDNotEquals;
    private String shopNameLike;
    private String shopNameEquals;
    private String shopNameNotEquals;
    private Long accumulatePointsUpper;
    private Long accumulatePointsLower;
    private Long accumulatePointsEquals;
    private Long accumulatePointsNotEquals;
    private UID customerUidEquals;
    private UID customerUidNotEquals;
    private String customerNameLike;
    private String customerNameEquals;
    private String customerNameNotEquals;
    private String weChatIdLike;
    private String weChatIdEquals;
    private String weChatIdNotEquals;

    public ConsumptionListCriteria(Long recordId, UID consumptionUidEquals, UID consumptionUidNotEquals, Double totalPriceUpper, Double totalPriceLower, Double finalPriceUpper, Double finalPriceLower, Long timeUpper, Long timeLower, Long timeEquals, Long timeNotEquals, String shopUIDLike, String shopUIDEquals, String shopUIDNotEquals, String shopNameLike, String shopNameEquals, String shopNameNotEquals, Long accumulatePointsUpper, Long accumulatePointsLower, Long accumulatePointsEquals, Long accumulatePointsNotEquals, UID customerUidEquals, UID customerUidNotEquals, String customerNameLike, String customerNameEquals, String customerNameNotEquals, String weChatIdLike, String weChatIdEquals, String weChatIdNotEquals) {
        setRecordId(recordId);
        setConsumptionUidEquals(consumptionUidEquals);
        setConsumptionUidNotEquals(consumptionUidNotEquals);
        setTotalPriceUpper(totalPriceUpper);
        setTotalPriceLower(totalPriceLower);
        setFinalPriceUpper(finalPriceUpper);
        setFinalPriceLower(finalPriceLower);
        setTimeUpper(timeUpper);
        setTimeLower(timeLower);
        setTimeEquals(timeEquals);
        setTimeNotEquals(timeNotEquals);
        setShopUIDLike(shopUIDLike);
        setShopUIDEquals(shopUIDEquals);
        setShopUIDNotEquals(shopUIDNotEquals);
        setShopNameLike(shopNameLike);
        setShopNameEquals(shopNameEquals);
        setShopNameNotEquals(shopNameNotEquals);
        setAccumulatePointsUpper(accumulatePointsUpper);
        setAccumulatePointsLower(accumulatePointsLower);
        setAccumulatePointsEquals(accumulatePointsEquals);
        setAccumulatePointsNotEquals(accumulatePointsNotEquals);
        setCustomerUidEquals(customerUidEquals);
        setCustomerUidNotEquals(customerUidNotEquals);
        setCustomerNameLike(customerNameLike);
        setCustomerNameEquals(customerNameEquals);
        setCustomerNameNotEquals(customerNameNotEquals);
        setWeChatIdLike(weChatIdLike);
        setWeChatIdEquals(weChatIdEquals);
        setWeChatIdNotEquals(weChatIdNotEquals);
    }

    public ConsumptionListCriteria() {
    }

    public ConsumptionListCriteria duplicate() {
        ConsumptionListCriteria result = new ConsumptionListCriteria();
        result.recordId = this.recordId;
        result.consumptionUidEquals = this.consumptionUidEquals;
        result.consumptionUidNotEquals = this.consumptionUidNotEquals;
        result.totalPriceUpper = this.totalPriceUpper;
        result.totalPriceLower = this.totalPriceLower;
        result.finalPriceUpper = this.finalPriceUpper;
        result.finalPriceLower = this.finalPriceLower;
        result.timeUpper = this.timeUpper;
        result.timeLower = this.timeLower;
        result.timeEquals = this.timeEquals;
        result.timeNotEquals = this.timeNotEquals;
        result.shopUIDLike = this.shopUIDLike;
        result.shopUIDEquals = this.shopUIDEquals;
        result.shopUIDNotEquals = this.shopUIDNotEquals;
        result.shopNameLike = this.shopNameLike;
        result.shopNameEquals = this.shopNameEquals;
        result.shopNameNotEquals = this.shopNameNotEquals;
        result.accumulatePointsUpper = this.accumulatePointsUpper;
        result.accumulatePointsLower = this.accumulatePointsLower;
        result.accumulatePointsEquals = this.accumulatePointsEquals;
        result.accumulatePointsNotEquals = this.accumulatePointsNotEquals;
        result.customerUidEquals = this.customerUidEquals;
        result.customerUidNotEquals = this.customerUidNotEquals;
        result.customerNameLike = this.customerNameLike;
        result.customerNameEquals = this.customerNameEquals;
        result.customerNameNotEquals = this.customerNameNotEquals;
        result.weChatIdLike = this.weChatIdLike;
        result.weChatIdEquals = this.weChatIdEquals;
        result.weChatIdNotEquals = this.weChatIdNotEquals;
        return result;
    }

    @Override
    public String toString() {
        return Convert.toJson(this);
    }

    public Long getRecordId() {
        return recordId;
    }

    public void  setRecordId(Long value) {
        this.recordId = value;
    }

    public ConsumptionListCriteria withRecordId(Long value) {
        setRecordId(value);
        return this;
    }

    public ConsumptionListCriteria withRecordId(Long value, Long defaultValue) {
        setRecordId(value == null ? defaultValue : value);
        return this;
    }

    public UID getConsumptionUidEquals() {
        return consumptionUidEquals;
    }

    public void  setConsumptionUidEquals(UID value) {
        this.consumptionUidEquals = value;
    }

    public ConsumptionListCriteria withConsumptionUidEquals(UID value) {
        setConsumptionUidEquals(value);
        return this;
    }

    public ConsumptionListCriteria withConsumptionUidEquals(UID value, UID defaultValue) {
        setConsumptionUidEquals(value == null ? defaultValue : value);
        return this;
    }

    public UID getConsumptionUidNotEquals() {
        return consumptionUidNotEquals;
    }

    public void  setConsumptionUidNotEquals(UID value) {
        this.consumptionUidNotEquals = value;
    }

    public ConsumptionListCriteria withConsumptionUidNotEquals(UID value) {
        setConsumptionUidNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withConsumptionUidNotEquals(UID value, UID defaultValue) {
        setConsumptionUidNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Double getTotalPriceUpper() {
        return totalPriceUpper;
    }

    public void  setTotalPriceUpper(Double value) {
        this.totalPriceUpper = value;
    }

    public ConsumptionListCriteria withTotalPriceUpper(Double value) {
        setTotalPriceUpper(value);
        return this;
    }

    public ConsumptionListCriteria withTotalPriceUpper(Double value, Double defaultValue) {
        setTotalPriceUpper(value == null ? defaultValue : value);
        return this;
    }

    public Double getTotalPriceLower() {
        return totalPriceLower;
    }

    public void  setTotalPriceLower(Double value) {
        this.totalPriceLower = value;
    }

    public ConsumptionListCriteria withTotalPriceLower(Double value) {
        setTotalPriceLower(value);
        return this;
    }

    public ConsumptionListCriteria withTotalPriceLower(Double value, Double defaultValue) {
        setTotalPriceLower(value == null ? defaultValue : value);
        return this;
    }

    public Double getFinalPriceUpper() {
        return finalPriceUpper;
    }

    public void  setFinalPriceUpper(Double value) {
        this.finalPriceUpper = value;
    }

    public ConsumptionListCriteria withFinalPriceUpper(Double value) {
        setFinalPriceUpper(value);
        return this;
    }

    public ConsumptionListCriteria withFinalPriceUpper(Double value, Double defaultValue) {
        setFinalPriceUpper(value == null ? defaultValue : value);
        return this;
    }

    public Double getFinalPriceLower() {
        return finalPriceLower;
    }

    public void  setFinalPriceLower(Double value) {
        this.finalPriceLower = value;
    }

    public ConsumptionListCriteria withFinalPriceLower(Double value) {
        setFinalPriceLower(value);
        return this;
    }

    public ConsumptionListCriteria withFinalPriceLower(Double value, Double defaultValue) {
        setFinalPriceLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getTimeUpper() {
        return timeUpper;
    }

    public void  setTimeUpper(Long value) {
        this.timeUpper = value;
    }

    public ConsumptionListCriteria withTimeUpper(Long value) {
        setTimeUpper(value);
        return this;
    }

    public ConsumptionListCriteria withTimeUpper(Long value, Long defaultValue) {
        setTimeUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getTimeLower() {
        return timeLower;
    }

    public void  setTimeLower(Long value) {
        this.timeLower = value;
    }

    public ConsumptionListCriteria withTimeLower(Long value) {
        setTimeLower(value);
        return this;
    }

    public ConsumptionListCriteria withTimeLower(Long value, Long defaultValue) {
        setTimeLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getTimeEquals() {
        return timeEquals;
    }

    public void  setTimeEquals(Long value) {
        this.timeEquals = value;
    }

    public ConsumptionListCriteria withTimeEquals(Long value) {
        setTimeEquals(value);
        return this;
    }

    public ConsumptionListCriteria withTimeEquals(Long value, Long defaultValue) {
        setTimeEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getTimeNotEquals() {
        return timeNotEquals;
    }

    public void  setTimeNotEquals(Long value) {
        this.timeNotEquals = value;
    }

    public ConsumptionListCriteria withTimeNotEquals(Long value) {
        setTimeNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withTimeNotEquals(Long value, Long defaultValue) {
        setTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getShopUIDLike() {
        return shopUIDLike;
    }

    public void  setShopUIDLike(String value) {
        this.shopUIDLike = value;
    }

    public ConsumptionListCriteria withShopUIDLike(String value) {
        setShopUIDLike(value);
        return this;
    }

    public ConsumptionListCriteria withShopUIDLike(String value, String defaultValue) {
        setShopUIDLike(value == null ? defaultValue : value);
        return this;
    }

    public String getShopUIDEquals() {
        return shopUIDEquals;
    }

    public void  setShopUIDEquals(String value) {
        this.shopUIDEquals = value;
    }

    public ConsumptionListCriteria withShopUIDEquals(String value) {
        setShopUIDEquals(value);
        return this;
    }

    public ConsumptionListCriteria withShopUIDEquals(String value, String defaultValue) {
        setShopUIDEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getShopUIDNotEquals() {
        return shopUIDNotEquals;
    }

    public void  setShopUIDNotEquals(String value) {
        this.shopUIDNotEquals = value;
    }

    public ConsumptionListCriteria withShopUIDNotEquals(String value) {
        setShopUIDNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withShopUIDNotEquals(String value, String defaultValue) {
        setShopUIDNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getShopNameLike() {
        return shopNameLike;
    }

    public void  setShopNameLike(String value) {
        this.shopNameLike = value;
    }

    public ConsumptionListCriteria withShopNameLike(String value) {
        setShopNameLike(value);
        return this;
    }

    public ConsumptionListCriteria withShopNameLike(String value, String defaultValue) {
        setShopNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getShopNameEquals() {
        return shopNameEquals;
    }

    public void  setShopNameEquals(String value) {
        this.shopNameEquals = value;
    }

    public ConsumptionListCriteria withShopNameEquals(String value) {
        setShopNameEquals(value);
        return this;
    }

    public ConsumptionListCriteria withShopNameEquals(String value, String defaultValue) {
        setShopNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getShopNameNotEquals() {
        return shopNameNotEquals;
    }

    public void  setShopNameNotEquals(String value) {
        this.shopNameNotEquals = value;
    }

    public ConsumptionListCriteria withShopNameNotEquals(String value) {
        setShopNameNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withShopNameNotEquals(String value, String defaultValue) {
        setShopNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getAccumulatePointsUpper() {
        return accumulatePointsUpper;
    }

    public void  setAccumulatePointsUpper(Long value) {
        this.accumulatePointsUpper = value;
    }

    public ConsumptionListCriteria withAccumulatePointsUpper(Long value) {
        setAccumulatePointsUpper(value);
        return this;
    }

    public ConsumptionListCriteria withAccumulatePointsUpper(Long value, Long defaultValue) {
        setAccumulatePointsUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getAccumulatePointsLower() {
        return accumulatePointsLower;
    }

    public void  setAccumulatePointsLower(Long value) {
        this.accumulatePointsLower = value;
    }

    public ConsumptionListCriteria withAccumulatePointsLower(Long value) {
        setAccumulatePointsLower(value);
        return this;
    }

    public ConsumptionListCriteria withAccumulatePointsLower(Long value, Long defaultValue) {
        setAccumulatePointsLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getAccumulatePointsEquals() {
        return accumulatePointsEquals;
    }

    public void  setAccumulatePointsEquals(Long value) {
        this.accumulatePointsEquals = value;
    }

    public ConsumptionListCriteria withAccumulatePointsEquals(Long value) {
        setAccumulatePointsEquals(value);
        return this;
    }

    public ConsumptionListCriteria withAccumulatePointsEquals(Long value, Long defaultValue) {
        setAccumulatePointsEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getAccumulatePointsNotEquals() {
        return accumulatePointsNotEquals;
    }

    public void  setAccumulatePointsNotEquals(Long value) {
        this.accumulatePointsNotEquals = value;
    }

    public ConsumptionListCriteria withAccumulatePointsNotEquals(Long value) {
        setAccumulatePointsNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withAccumulatePointsNotEquals(Long value, Long defaultValue) {
        setAccumulatePointsNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public UID getCustomerUidEquals() {
        return customerUidEquals;
    }

    public void  setCustomerUidEquals(UID value) {
        this.customerUidEquals = value;
    }

    public ConsumptionListCriteria withCustomerUidEquals(UID value) {
        setCustomerUidEquals(value);
        return this;
    }

    public ConsumptionListCriteria withCustomerUidEquals(UID value, UID defaultValue) {
        setCustomerUidEquals(value == null ? defaultValue : value);
        return this;
    }

    public UID getCustomerUidNotEquals() {
        return customerUidNotEquals;
    }

    public void  setCustomerUidNotEquals(UID value) {
        this.customerUidNotEquals = value;
    }

    public ConsumptionListCriteria withCustomerUidNotEquals(UID value) {
        setCustomerUidNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withCustomerUidNotEquals(UID value, UID defaultValue) {
        setCustomerUidNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getCustomerNameLike() {
        return customerNameLike;
    }

    public void  setCustomerNameLike(String value) {
        this.customerNameLike = value;
    }

    public ConsumptionListCriteria withCustomerNameLike(String value) {
        setCustomerNameLike(value);
        return this;
    }

    public ConsumptionListCriteria withCustomerNameLike(String value, String defaultValue) {
        setCustomerNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getCustomerNameEquals() {
        return customerNameEquals;
    }

    public void  setCustomerNameEquals(String value) {
        this.customerNameEquals = value;
    }

    public ConsumptionListCriteria withCustomerNameEquals(String value) {
        setCustomerNameEquals(value);
        return this;
    }

    public ConsumptionListCriteria withCustomerNameEquals(String value, String defaultValue) {
        setCustomerNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getCustomerNameNotEquals() {
        return customerNameNotEquals;
    }

    public void  setCustomerNameNotEquals(String value) {
        this.customerNameNotEquals = value;
    }

    public ConsumptionListCriteria withCustomerNameNotEquals(String value) {
        setCustomerNameNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withCustomerNameNotEquals(String value, String defaultValue) {
        setCustomerNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getWeChatIdLike() {
        return weChatIdLike;
    }

    public void  setWeChatIdLike(String value) {
        this.weChatIdLike = value;
    }

    public ConsumptionListCriteria withWeChatIdLike(String value) {
        setWeChatIdLike(value);
        return this;
    }

    public ConsumptionListCriteria withWeChatIdLike(String value, String defaultValue) {
        setWeChatIdLike(value == null ? defaultValue : value);
        return this;
    }

    public String getWeChatIdEquals() {
        return weChatIdEquals;
    }

    public void  setWeChatIdEquals(String value) {
        this.weChatIdEquals = value;
    }

    public ConsumptionListCriteria withWeChatIdEquals(String value) {
        setWeChatIdEquals(value);
        return this;
    }

    public ConsumptionListCriteria withWeChatIdEquals(String value, String defaultValue) {
        setWeChatIdEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getWeChatIdNotEquals() {
        return weChatIdNotEquals;
    }

    public void  setWeChatIdNotEquals(String value) {
        this.weChatIdNotEquals = value;
    }

    public ConsumptionListCriteria withWeChatIdNotEquals(String value) {
        setWeChatIdNotEquals(value);
        return this;
    }

    public ConsumptionListCriteria withWeChatIdNotEquals(String value, String defaultValue) {
        setWeChatIdNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        switch(name) {
        case "recordId": return getRecordId();
        case "consumptionUidEquals": return getConsumptionUidEquals();
        case "consumptionUidNotEquals": return getConsumptionUidNotEquals();
        case "totalPriceUpper": return getTotalPriceUpper();
        case "totalPriceLower": return getTotalPriceLower();
        case "finalPriceUpper": return getFinalPriceUpper();
        case "finalPriceLower": return getFinalPriceLower();
        case "timeUpper": return getTimeUpper();
        case "timeLower": return getTimeLower();
        case "timeEquals": return getTimeEquals();
        case "timeNotEquals": return getTimeNotEquals();
        case "shopUIDLike": return getShopUIDLike();
        case "shopUIDEquals": return getShopUIDEquals();
        case "shopUIDNotEquals": return getShopUIDNotEquals();
        case "shopNameLike": return getShopNameLike();
        case "shopNameEquals": return getShopNameEquals();
        case "shopNameNotEquals": return getShopNameNotEquals();
        case "accumulatePointsUpper": return getAccumulatePointsUpper();
        case "accumulatePointsLower": return getAccumulatePointsLower();
        case "accumulatePointsEquals": return getAccumulatePointsEquals();
        case "accumulatePointsNotEquals": return getAccumulatePointsNotEquals();
        case "customerUidEquals": return getCustomerUidEquals();
        case "customerUidNotEquals": return getCustomerUidNotEquals();
        case "customerNameLike": return getCustomerNameLike();
        case "customerNameEquals": return getCustomerNameEquals();
        case "customerNameNotEquals": return getCustomerNameNotEquals();
        case "weChatIdLike": return getWeChatIdLike();
        case "weChatIdEquals": return getWeChatIdEquals();
        case "weChatIdNotEquals": return getWeChatIdNotEquals();
        }
        return null;
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    @Override
    public int hashCode() {
        return signature().hashCode();
    }

    @Override
    public boolean equals(Object o) {
        if(!(o instanceof ConsumptionListCriteria)) return false;
        return signature().equals(((ConsumptionListCriteria)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean ConsumptionListCriteria has no signature defined, no hash code or equals possible.");
    }
}
